Setup file

This file specifies all output nodes, the timing for their sampling, and, optionally, the percentage of nodes to be seeded. There are basically three commands that can be used in this file; their syntax is as follows:


		seed 
$\left<\vphantom{\mbox{\em percentage}}\right.$percentage$\left.\vphantom{\mbox{\em percentage}}\right>$ 

trigger $\left<\vphantom{\mbox{\em on-node}}\right.$on-node$\left.\vphantom{\mbox{\em on-node}}\right>$ $\left<\vphantom{\mbox{\em transition-value}}\right.$transition-value$\left.\vphantom{\mbox{\em transition-value}}\right>$ $\left[\vphantom{\mbox{ \em delay }}\right.$ delay $\left.\vphantom{\mbox{ \em delay }}\right]$
$\left<\vphantom{\mbox{\em output-list}}\right.$output-list$\left.\vphantom{\mbox{\em output-list}}\right>$
***

sample $\left<\vphantom{\mbox{\em period}}\right.$period$\left.\vphantom{\mbox{\em period}}\right>$ $\left[\vphantom{\mbox{ \em offset }}\right.$ offset $\left.\vphantom{\mbox{ \em offset }}\right]$
$\left<\vphantom{\mbox{\em output-list}}\right.$output-list$\left.\vphantom{\mbox{\em output-list}}\right>$
***

The seed command, if present, must be the first non-empty line in the file. It's $\left<\vphantom{\mbox{\em percentage}}\right.$percentage$\left.\vphantom{\mbox{\em percentage}}\right>$ argument must be an integer number (in the range $\left[\vphantom{\mbox{1--100}}\right.$1–100$\left.\vphantom{\mbox{1--100}}\right]$), which specifies the percentage of the circuit's nodes that should be considered for fault seeding. If this command is missing, Ifsim will seed up to 20% of the circuit's nodes.

Outputs can be sampled using either a fixed time interval, or the rising/falling edge of some other signal in the circuit. The first type of sampling is specified using the sample command, the second is specified through the trigger command.

The trigger command indicates that all nodes specified in $\left<\vphantom{\mbox{\em output-list}}\right.$output-list$\left.\vphantom{\mbox{\em output-list}}\right>$ should be sampled when $\left<\vphantom{\mbox{\em on-node}}\right.$on-node$\left.\vphantom{\mbox{\em on-node}}\right>$ makes a transition to $\left<\vphantom{\mbox{\em transition-value}}\right.$transition-value$\left.\vphantom{\mbox{\em transition-value}}\right>$. Note that $\left<\vphantom{\mbox{\em output-list}}\right.$output-list$\left.\vphantom{\mbox{\em output-list}}\right>$ can span multiple lines, each of which can contain a list of nodes separated by blanks. The list of outputs is terminated by a line containing the single entry ***. Also, just like in Irsim, any node name can include the wildcard character `*', it can denote iteration by using the pair of characters `{' and '}', or it can be the name of a user-defined vector. The optional argument $\left<\vphantom{\mbox{\em delay}}\right.$delay$\left.\vphantom{\mbox{\em delay}}\right>$ specifies that the signals should be sampled $\left<\vphantom{\mbox{\em delay}}\right.$delay$\left.\vphantom{\mbox{\em delay}}\right>$ ns after the specified transition. For example, the following file indicates that primary outputs ADR0, ADR1, ADR2, ADR3, RD, and WR should be sampled on the falling edge of signal phi1, while outputs DATA0, DATA1, DATA2, DATA3, and DATA4 should be sampled 10ns after the rising edge of signal phi2:


		trigger phi1 0 

ADR{0:3}
RD WR
***

trigger phi2 1 10
DATA0 DATA1 DATA2
DATA3
DATA4
***

The format of the sample command is similar to the trigger command, however, instead of using another signal to trigger the sampling of the outputs, they are sampled every $\left<\vphantom{\mbox{\em period}}\right.$period$\left.\vphantom{\mbox{\em period}}\right>$ ns. The optional $\left<\vphantom{\mbox{\em offset}}\right.$offset$\left.\vphantom{\mbox{\em offset}}\right>$ argument indicates that the sampling should begin $\left<\vphantom{\mbox{\em offset}}\right.$offset$\left.\vphantom{\mbox{\em offset}}\right>$ ns from the start of the simulation. For example, the following entry indicates that outputs clock1 and clock2 should be sampled every 50ns starting from time 100ns (150, 200, etc):


		sample 50.0 100.0 

clock1 clock2
***